<?php
/**
 * 
 * Esta es la clase Controlador la cual tiene relacion con la clase tipoErrorModel
 * @author Rosanna Paberli Jimenez Rosario.
 *
 */
class TipoErrorEqs extends Controller
{
   public function __construct()
   {
   	   parent::Controller();
   	   $this->load->model(array('tipoerrormodel'));
   }
   
   public function index()
   {
   	   $this->load->view('main',array('content_page' => 'tipoerroreqs_list', 'menutop' => 0));
   }
  
   /**
    * 
    * Esta es la funcion donde voy a cargar los datos de la base de datos
    * @param boolean $filtros
    */
   public function data($filtros = false)
   {
   		
   		 $page = $this->input->post('page') ? $this->input->post('page') : 1; // Pagina Actual o 1 por default
		 $sortname = $this->input->post('sidx') ? $this->input->post('sidx') : 'id_clasificacion'; // Columna para el order by
		 $sortorder = $this->input->post('sord') ? $this->input->post('sord') : 'desc'; // Orden (asc|desc)
		 $limit = $this->input->post('rows') ? $this->input->post('rows') : 30;

		 $start = $limit * $page - $limit;
		     if($start < 0) $start = 0;
  
		      header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
		      header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
		      header("Cache-Control: no-cache, must-revalidate" );
		      header("Pragma: no-cache" );
		      
		 $records = $this->tipoerrormodel->loadRegistro();
		    
		 $totalRecords = count($records);

		 $totalPages = ceil($totalRecords/$limit);
		     if ($page > $totalPages) 
		       $page = $totalPages;

		    $json_output = array(
		            'page'		=> $page,
		            'total'		=> $totalPages,
		            'records'	=> $totalRecords,
		            'rows'		=> array()
		        );

		    if($records != false){
			     foreach($records as $objetos){

				     $arr = $json_output['rows'][] = array(
				          'id'              => $objetos->getIdTipoError(),
				          'detalles'        => $objetos->getDetalleError(),
				          'dias'            => $objetos->getDiasError()
				      );
			      }
		      }

		 echo json_encode($json_output);    
   		
   } 
   
   /**
	  Esta funcion es la de agregar datos al datagriw.
    */
   public function add()
   {
   		 $this->load->view('main',array('content_page' => 'tipoerroreqs_add', 'menutop' => 0));
   }
   
   /**
    * 
    * Esta es la funcion que se encargar de editar o modificar los datos.
    */
   public function edit($id)
   {
   	    $registro = $this->tipoerrormodel->loadRegistroById($id);
   		$this->load->view('main',array('content_page' => 'tipoerroreqs_edit', 'menutop' => 0, 'objeto' => $registro));
   }
   
   /**
		Esta es la funcion de salvar los datos ya sea por agregacion o por modificacion
    */
   public function save()
   {
   	   $dataArray = array("detalle_error"    => $this->input->post('descricion'),
   	                      "dias_error"       => $this->input->post('dias'));  
   	
   	   if ($this->input->post('id') == false) {
   	   	   if ($this->tipoerrormodel->addRegistro($dataArray) == true) {
   	   	   	   $mensaje = "El resgistro se agrego..";
   	   	   }else{
   	   	       $mensaje = "Hubo un error...";
   	   	   }
   	   	  
   	   }else{
   	       if ($this->tipoerrormodel->upDateRegistro($dataArray, $this->input->post('id')) == true) {
   	   	   	   $mensaje = "El resgistro se edito..";
   	   	   }else{
   	   	       $mensaje = "Hubo un error...";
   	   	   }
   	   
   	   }
   	   
   	   $this->session->set_flashdata('error_title', $mensaje);
   	   redirect('tipoerroreqs');
   	  		
   }
   
   /**
    * 
    * Esta funcion se utilizara para eliminar los datos en caso de que el usuario lo requiera.
    */
   public function delete()
   {   
   	    $id = $this->input->post('delete_rows');
   		$this->tipoerrormodel->deleteRegistro($id);
   }
	

}